package Polymorphic;/*
 *
 * @author 陈粒
 * @version 创建时间：2021/7/9 16:58
 */

/**
 * 多态：
 * 多态是面向对象程序设计（OOP）的一个重要特征，指同一个实体同时具有多种形式，即同一个对象，
 * 在不同时刻，代表的对象不一样，指的是对象的多种形态。
 * 方法的定义是父类的，方法的实现是子类的
 * 特点:
 * 1.多态的前提1：是继承
 * 2.多态的前提2：要有方法的重写
 * 3.父类引用指向子类对象,如：Animal a = new Cat(); 上溯造型
 * 4.多态中，编译看左边，运行看右边
 * 好处：
 * 1.多态可以让我们不用关心某个对象到底具体是什么类型,就可以使用该对象的某些方法
 * 2.提高了程序的可扩展性和可维护性
 * 多态的使用：
 * 1.成员变量: 使用的是父类的
 * 2.成员方法: 由于存在重写现象,所以使用的是子类的
 * 3.静态成员: 随着类的加载而加载,谁调用就返回谁的
 */
public class Polymorphic {
    public static void main(String[] args) {
        Father s = new Son();//编译看左边Fatehr s，运行看右边new Son()
        s.age();
    }
}

class Father {
    void age() {
        System.out.println("父亲的年龄");
    }
}

class Son extends Father {
    void age() {
        System.out.println("儿子的年龄");
    }
}